<script setup lang="ts">
import jwt_decode from 'jwt-decode'
import { useLoginStore } from '@/stores/login'
import { useUserStore } from '@/stores/user'

const loginStore = useLoginStore()
const userInfo = useUserStore()
//微信无感登录
const wxLogin = async () => {
  const reqData: any = { provider: 'weixin' }
  const { errMsg, code } = await login(reqData)

  if (isNotNilOrEmpty(code)) {
    const loginUrl = '/api/auth/wxlogin/'
    const { status, data } = await Fetch(`${loginUrl}${code}`)
    if (status !== 200 || data.code !== 0) {
      return
    }
    const token = data.result
    const decoded: any = jwt_decode(token)
    loginStore.setUid(decoded.userId)
    loginStore.setRoleId(decoded?.roleId)
    if (isNotNilOrEmpty(token)) {
      loginStore.setToken(token)
    }

  } else {
    console.log(errMsg)
  }
}

onLaunch(async () => {
  //体验版小程序，自动打开调试模式
  console.log(envVersion, '小程序版本')
  if (envVersion === 'trial') {
    uni.setEnableDebug({
      enableDebug: true,
    })
  }
  await wxLogin()

  const updateManager = uni.getUpdateManager()

  updateManager.onCheckForUpdate((res) => {
  // 请求完新版本信息的回调
    console.log(res.hasUpdate, '是否更新了版本')
  })

  updateManager.onUpdateReady((res) => {
    uni.showModal({
      title: '更新提示',
      content: '新版本已经准备好，是否重启应用？',
      success(res) {
        if (res.confirm) {
        // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
          updateManager.applyUpdate()
        }
      },
    })

  })
  updateManager.onUpdateFailed((res) => {
  // 新的版本下载失败
    console.log('新的版本下载失败')

  })

})
</script>
